From: Giovanni Campagna Date: Mon, 13 Aug 2012 23:43:59 +0000 (+0200) Subject: ScreenShield: animate going from the unlock dialog to the lock screen X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~5866 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=107f5de58e0b5f973e00326284b92207976995c3;p=gnome-shell.git ScreenShield: animate going from the unlock dialog to the lock screen If the user presses esc in the dialog, tween the lock screen from the top instead of showing it immediately. https://bugzilla.gnome.org/show_bug.cgi?id=681143 --- diff --git a/js/ui/screenShield.js b/js/ui/screenShield.js index 21e05673e..8caa9cccc 100644 --- a/js/ui/screenShield.js +++ b/js/ui/screenShield.js @@ -644,14 +644,14 @@ const ScreenShield = new Lang.Class({ this._dialog.destroy(); this._dialog = null; - this._resetLockScreen(false); + this._resetLockScreen(true, false); }, _onUnlockSucceded: function() { this._tweenUnlocked(); }, - _resetLockScreen: function(animate) { + _resetLockScreen: function(animateLockScreen, animateLockDialog) { this._ensureLockScreen(); this._lockDialogGroup.scale_x = 1; this._lockDialogGroup.scale_y = 1; @@ -659,7 +659,7 @@ const ScreenShield = new Lang.Class({ this._lockScreenGroup.show(); this._lockScreenState = MessageTray.State.SHOWING; - if (animate) { + if (animateLockScreen) { this._lockScreenGroup.y = -global.screen_height; Tweener.removeTweens(this._lockScreenGroup); Tweener.addTween(this._lockScreenGroup, @@ -671,7 +671,12 @@ const ScreenShield = new Lang.Class({ }, onCompleteScope: this }); + } else { + this._lockScreenGroup.fixed_position_set = false; + this._lockScreenShown(); + } + if (animateLockDialog) { this._lockDialogGroup.opacity = 0; Tweener.removeTweens(this._lockDialogGroup); Tweener.addTween(this._lockDialogGroup, @@ -680,7 +685,6 @@ const ScreenShield = new Lang.Class({ transition: 'easeOutQuad' }); } else { this._lockDialogGroup.opacity = 255; - this._lockScreenShown(); } this._lockScreenGroup.grab_key_focus(); @@ -812,7 +816,7 @@ const ScreenShield = new Lang.Class({ Main.sessionMode.pushMode('unlock-dialog'); } - this._resetLockScreen(animate); + this._resetLockScreen(animate, animate); this._isActive = true; this.emit('lock-status-changed');